Skip to content

[ComputeRP] New apiVersion 2026-04-01#42319

Open
haagha wants to merge 25 commits into
mainfrom
compute-2026-04-01
Open

[ComputeRP] New apiVersion 2026-04-01#42319
haagha wants to merge 25 commits into
mainfrom
compute-2026-04-01

Conversation

@haagha

@haagha haagha commented Apr 13, 2026

Copy link
Copy Markdown
Member

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

@github-actions

github-actions Bot commented Apr 13, 2026

Copy link
Copy Markdown

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR is in purview of the ARM review (label: ARMReview). This PR must get ARMSignedOff label from an ARM reviewer.
    This PR is awaiting ARM reviewer feedback (label: WaitForARMFeedback).
    To learn when this PR will get reviewed, see ARM review queue at aka.ms/azsdk/pr-arm-review
    For details of the ARM review, see aka.ms/azsdk/pr-arm-review
  • ❌ The required check named Swagger Avocado has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide


Comment generated by summarize-checks workflow run.

@github-actions

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Microsoft.Compute-Compute
TypeSpec Compute
Go sdk/resourcemanager/compute/armcompute
JavaScript @azure/arm-compute
Python azure-mgmt-compute

@github-actions

github-actions Bot commented Apr 13, 2026

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Microsoft.Compute-Compute
TypeSpec Compute
Go sdk/resourcemanager/compute/armcompute
JavaScript @azure/arm-compute
Python azure-mgmt-compute
Java com.azure.resourcemanager:azure-resourcemanager-compute
C# Azure.ResourceManager.Compute

Comment generated by After APIView workflow run.

SahilArora92 and others added 6 commits May 13, 2026 11:12
* Swagger changes for SpotPlus

* Update docs

* update doc

* Address comments and add docs to previous properties

* fix indentation

* remove documentation as it is breaking cross version checks.

* Revert "remove documentation as it is breaking cross version checks."

This reverts commit eb18f36.

* Add missing version values

* Fix Go SDK generation errors

* fix: suppress TCGC API version heuristic for networkApiVersion and ResourceSku.apiVersions

Add @@apiversion(false) decorators to fields incorrectly detected as service
API version parameters by TCGC's name-based heuristic:
- VirtualMachineScaleSetNetworkProfile.networkApiVersion
- VirtualMachineScaleSetUpdateNetworkProfile.networkApiVersion
- NetworkProfile.networkApiVersion (all refer to Microsoft.Network API version)
- ResourceSku.apiVersions (list of SKU-supported versions, not service version)

This fixes Go emitter InternalError during SDK generation:
  unexpected constant client side default 2026-04-01 for field NetworkAPIVersion
  unexpected client side default kind slice for field APIVersions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add 2026-04-01 examples for VirtualMachineScaleSetLifeCycleHookEvents operations

Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix avocado MULTIPLE_API_VERSION: set default tag to package-2026-04-01-only

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Revert "Fix avocado MULTIPLE_API_VERSION: set default tag to package-2026-04-01-only"

This reverts commit 5e41a89.

* Address comments

Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>

* Update doc to generic text

Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>

* add type

Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Sahil Arora <arorasahil@microsoft.com>
Co-authored-by: Haider Agha <64601174+haagha@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tween major, minor, and hotpatch coverage (#42855)

* Updates documentation for the typespec parameter
* processormode support

* add VMSS examples and address review comments

* update description

* update PR

* merge validation updates
nidhjain-ms1 and others added 4 commits June 9, 2026 10:32
… (2026-04-01) (#42856)

* Add extension metadata properties to VirtualMachineExtensionImage API (2026-04-01)

Add new read-only properties to VirtualMachineExtensionImageProperties:
- releaseNotes (string)
- releaseCategory (ReleaseCategory union)
- urgencyLevel (UrgencyLevel union)
- runProfile (RunProfile union)
- extensionFeatureMetadata (ExtensionFeatureMetadata model)

Add $expand query parameter to listVersions operation to support
returning properties including releaseCategory, urgencyLevel, and
runProfile when expanded.

All new types and properties are versioned with @added(Versions.v2026_04_01).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback for VirtualMachineExtensionImage API

- Convert \ parameter from plain string to ListVersionsExpandOptions union (extensible enum)
- Remove premature 'properties/deprecationStatus' expand value
- Fix ExtensionFeatureMetadata doc string for accuracy
- Split ListVersions examples: MaximumSet shows default response, new WithExpandProperties example shows \=properties response
- Remove releaseNotes and extensionFeatureMetadata from LIST examples (not yet rolled out)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Regenerate ComputeRP.json swagger from TypeSpec compilation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address @ravimeda review feedback: make key required, update @Identifiers, improve $expand description

- Make 'key' required in ExtensionFeatureTag model
- Update @Identifiers(#[]) to @Identifiers(#["key"]) on extensionFeatureTags
- Update $expand parameter description with allowed values and effect
- Regenerate 2026-04-01 ComputeRP.json swagger
- Keep @added(Versions.v2026_04_01) decorators (required to prevent property leakage into older API versions)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Haider Agha <64601174+haagha@users.noreply.github.com>
Co-authored-by: Audrey Toney <audreytoney@microsoft.com>
…43752)

* Typespec changes - add new property to IPTag

* Address comments
* Add VMSS migrateVMAvailabilityZone operation for 2026-04-01 (TypeSpec)

Authors the VMSS migrateVMAvailabilityZone POST action in TypeSpec for api-version 2026-04-01. The operation is already implemented in CRP but had no public REST API spec. instanceIds is required; targetZone is optional; resourceOptions is not exposed (server defaults to Preserve). Includes generated ComputeRP.json and example.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix migrateVMAvailabilityZone example body key to match generated 'body' parameter

The generated swagger body parameter is named 'body', but the example wrapped
the payload under 'parameters'. oav example validation maps example keys to
parameter names, so the required body was seen as missing. Renamed the inner
key to 'body' in both source and generated example copies. oav validate-example
now passes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix LintDiff PostResponseCodes for VMSS migrateVMAvailabilityZone

Change the migrate operation to emit 202+204+default (no-content LRO POST)
instead of 200(no schema)+202, satisfying the Swagger LintDiff
PostResponseCodes rule. Update the example response accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: suppress arm-post-operation-response-codes for migrateVMAvailabilityZone

202+204 is the accurate contract for this no-body LRO POST per LintDiff
PostResponseCodes requirements. Suppress TypeSpec ARM linter warning which
only allows 202+200 for POST LRO operations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Post-merge fixes for migrateVMAvailabilityZone (compute-2026-04-01)

- Add @tag(VirtualMachineScaleSets) for SDK operation-group consistency with sibling ops
- Reformat @@doc augment per v1.12 TypeSpec formatter (multi-line)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Refine migrateVMAvailabilityZone description wording

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@haagha haagha marked this pull request as ready for review June 19, 2026 17:00
@haagha haagha requested a review from ookoka as a code owner June 19, 2026 17:00
@haagha haagha requested a review from audreyttt as a code owner June 19, 2026 17:00
@github-actions github-actions Bot added ARMReview new-api-version WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Jun 19, 2026
@github-actions github-actions Bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview labels Jun 19, 2026
- Introduced examples for creating, updating, deleting, and retrieving Interconnect Blocks.
- Added examples for listing Interconnect Blocks by resource group and subscription.
- Included instance view retrieval example for Interconnect Blocks.
- Updated ComputeRP.json to reference new examples and provide clearer descriptions for script handler versions and VM priorities.
@gary-x-li

Copy link
Copy Markdown
Contributor

Please fix Required CI checks first.

@gary-x-li gary-x-li added ARMChangesRequested and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Jun 19, 2026
@github-actions github-actions Bot added BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview BreakingChange-JavaScript-Sdk and removed ARMChangesRequested labels Jun 29, 2026
@github-actions github-actions Bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required and removed BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required NotReadyForARMReview labels Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ARMReview BreakingChange-JavaScript-Sdk Compute new-api-version resource-manager TypeSpec Authored with TypeSpec WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants